The Small Computer Systems Interface (SCSI) is a standard set of protocols for communicating with Input/Output (I/O) devices such as, storage devices, media changers and printers. The Internet SCSI (iSCSI) protocol defines a method which uses existing Internet infrastructure and management facilities to transport the SCSI protocols over Transport Control Protocol/Internet Protocol (TCP/IP). The iSCSI protocol allows exchange of iSCSI commands using an IP network, that is, provides support for a Storage Area Network (SAN).
A client computer connected to a SAN may not include non-volatile memory for storing the operating system and/or applications, that is, may be “diskless”. A server may stream an operating system and/or application to a “diskless” client computer over a Storage Area Network (SAN).
In order to “boot”, that is, load the operating system, a “diskless” client receives an operating system and/or application image which is streamed to the “diskless” client over the SAN. A client computer that includes non-volatile storage (for example, a Hard Disk Drive (HDD) or flash-based memory) may only periodically receive the entire operating system image and/or application image and may also receive updates (deltas) to the operating system image and/or application image.
Streaming an operating system image and/or application image to a client computer allows a “gold” operating system image to be stored on a remote storage area network (SAN) that can be easily managed and updated instead of having to individually update each client computer. In order to initiate the remote boot of the operating system, a special bootloader is launched. The bootloader is pre-configured to point to the appropriate storage server where the desired OS image resides. Methods for loading and executing the bootloader include Pre-Boot Execution Environment (PXE) and/or Built In Operating System (BIOS)-based Option ROM (OROM), each of which has well known security and manageability challenges, which somewhat defeat the primary purpose of reducing operational expenditure. Virtualization technology may also be used to virtualize remote storage and load particular operating system images that view remote storage as “local”.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments of the claimed subject matter, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art. Accordingly, it is intended that the claimed subject matter be viewed broadly, and be defined only as set forth in the accompanying claims.